package com.sangeng.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sangeng.domain.ResponseResult;
import com.sangeng.domain.dto.TagListDto;
import com.sangeng.domain.entity.Tag;
import com.sangeng.domain.vo.PageVo;
import com.sangeng.mapper.TagMapper;
import com.sangeng.service.TagService;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * 标签(Tag)表服务实现类
 *
 * @author makejava
 * @since 2024-12-02 16:18:00
 */
@Service("tagService")
public class TagServiceImpl extends ServiceImpl<TagMapper, Tag> implements TagService {
    @Override
    public ResponseResult<PageVo> pageTagList(Integer pageNumber, Integer pageSize, TagListDto tagListDto) {

        Page<Tag> page = new Page<>(pageNumber, pageSize);
        LambdaQueryWrapper<Tag> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.like(tagListDto.getName()!=null,Tag::getName,tagListDto.getName());
        page(page,queryWrapper);
        PageVo pageVo = new PageVo(page.getRecords(), page.getTotal());


        return ResponseResult.okResult(pageVo);
    }

    @Override
    public ResponseResult add(Tag tag) {
        tag.setCreateTime(new Date());
        save(tag);
        return ResponseResult.okResult() ;
    }
}
